#ifndef TESTS_H_JM_20130205
#define TESTS_H_JM_20130205
/// @file tests.h Spustace sad testov.

#include "Test.h"
#include "modelTests/IntegerHashJoinTester.h"
#include "modelTests/IntegerSecondOpBagHashSubtractionTester.h"
#include "modelTests/IntegerSecondOpSetHashSubtractionTester.h"
#include "modelTests/IntegerFirstOpBagHashSubtractionTester.h"
#include "modelTests/IntegerFirstOpSetHashSubtractionTester.h"
#include "modelTests/IntegerSetHashIntersectionTester.h"
#include "modelTests/IntegerBagHashIntersectionTester.h"
#include "modelTests/IntegerHashDuplicityEliminationTester.h"
#include "modelTests/ExperimantalJoinTester.h"

namespace jm4bbx {
	typedef Test<ExperimentalJoinTester> ExperimentalJoinTest;

	/// Test hashjoinu pre kluce typu integer.
	typedef Test<IntegerHashJoinTester> IntegerHashJoinTest;
	
	/// Test odcitania s opakovanim prvkov s hashovanim druheho operandu.
	typedef Test<IntegerSecondOpBagHashSubtractionTester> 
		IntegerSecondOpBagHashSubtractionTest;
	
	/// Test odcitania bez opakovania prvkov s hashovanim druheho operandu.
	typedef Test<IntegerSecondOpSetHashSubtractionTester> 
		IntegerSecondOpSetHashSubtractionTest;

	/// Test odcitania s opakovanim prvkov s hashovanim prveho operandu.
	typedef Test<IntegerFirstOpBagHashSubtractionTester> 
		IntegerFirstOpBagHashSubtractionTest;

	/// Test odcitania bez opakovania prvkov s hashovanim prveho operandu.
	typedef Test<IntegerFirstOpSetHashSubtractionTester> 
		IntegerFirstOpSetHashSubtractionTest;

	/// Test prieniku s opakovanim prvkov.
	typedef Test<IntegerBagHashIntersectionTester> 
		IntegerBagHashIntersectionTest;

	/// Test prieniku bez opakovania prvkov.
	typedef Test<IntegerSetHashIntersectionTester> 
		IntegerSetHashIntersectionTest;

	/// Test prieniku bez opakovania prvkov.
	typedef Test<IntegerHashDuplicityEliminationTester> 
		IntegerHashDuplicityEliminationTest;
	
} // namespace jm4bbx

#endif
